Warning: Undefined array key "HTTP_ACCEPT_LANGUAGE" in /var/www/vhosts/bilgigunlugum.net/httpdocs/index.php on line 43
PHP Programlama

BG MVC Model View Controller eğitim serisi yayında...

Ana sayfa > Programlama > PHP > Veri güncelleme

Veri güncelleme

PHP ile bir MySQL veritabanındaki tablolardan 3 farklı yöntemle veri güncelleme işlemi yapabiliriz.

MySQL'de bir tablodaki verileri güncellemek için UPDATE komutu kullanılır. MySQL ile bir tablodaki verileri güncellemek için aşağıdaki komut yapısını kullanabilirsiniz:

UPDATE tablo_adi SET sütun1=değer, sütun2=değer, ... WHERE sütun_adı=değer

UPDATE komutu ile birlikte WHERE tanımlaması yapmadığınız takdirde, tabloda yer alan bütün kayıtlar güncellenir:

UPDATE tablo_adi SET sütun1=değer, sütun2=değer, ...

Buradaki örneklerimizde, daha önce oluşturduğumuz personel adlı tablodaki kayıtlara güncelleme işlemi yapmaya çalışacağız:

1. MySQLi nesneye dayalı yöntem ile


<?php
  $sunucu = "localhost";
  $kullanici = "kullanıcıadı";
  $parola = "parola";
  $veritabani = "veritabaniadi";

  // Bağlantı oluşturma
  $bag = new mysqli($sunucu, $kullanici, $parola, $veritabani);

  // Bağlantı kontrolü					
  if ($bag->connect_error) {
      die("Bağlantı hatası: " . $bag->connect_error);
  }

  // Kayıt silmek için MySQL komutu
  $sqlquery = "UPDATE personel SET adi='Mehmet' WHERE id=1";

  if ($bag->query($sqlquery) === TRUE) {
      echo "Kayıt güncelleme işlemi tamamlandı!";
  } 
  else {
      echo "Kayıt güncelleme hatası: " . $bag->error;
  }
  
  $bag->close();
?>

Yukarıdaki örnekteki kodlar, veritabanına bağlandıktan sonra, $sqlquery değişkenine kayıt güncellemek için gerekli olan MySQL komut dizisini atar. $sqlquery değişkenini $bag->query() fonksiyonuna parametre olarak geçirip, fonksiyonu çağırarak personel tablosu içinde bulunan ve id sütun değeri 1 olan kaydın adı sütununa 'Mehmet' değerini atar. Hata meydana gelirse, $bag->error değişkeni ile ekrana yazar. $bag->close() fonksiyonu ile bağlantı kapatılır.

2. MySQLi fonksiyonel yöntem ile


<?php
  $sunucu = "localhost";
  $kullanici = "kullanıcıadı";
  $parola = "parola";
  $veritabani = "veritabaniadi";

  // Bağlantı oluşturma
  $bag = mysqli_connect($sunucu, $kullanici, $parola, $veritabani);

  // Bağlantı kontrolü											
  if (!$bag) {
      die("Bağlantı hatası: " . mysqli_connect_error());
  }

  // Kayıt silmek için MySQL komutu
  $sqlquery = "UPDATE personel SET adi='Mehmet' WHERE id=1";

  if (mysqli_query($bag, $sqlquery)) {
      echo "Kayıt güncelleme işlemi tamamlandı!";
  } 
  else {
      echo "Kayıt güncelleme hatası: " . mysqli_error($bag);
  }
  
  mysqli_close($bag);
?>

Yukarıdaki örnekteki kodlar, bir önceki örnekte nesneye dayalı yöntemle yapılan kayıt güncelleme işlemini fonksiyonel yöntemle gerçekleştirir.

3. PDO yöntemi ile


<?php
  $sunucu = "localhost";
  $kullanici = "kullanıcıadı";
  $parola = "parola";
  $veritabani = "veritabaniadi";

  try {
      $bag = new PDO("mysql:host=$sunucu;dbname=$veritabani", $kullanici, $parola);
      // PDO hata modunu istisnaya ayarlama
      $bag->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
      // MySQL tablo oluşturma komutu
      $sqlquery = "UPDATE personel SET adi='Mehmet' WHERE id=1";
      $bag->exec($sqlquery);
      echo "Kayıt güncelleme işlemi tamamlandı!";
  }
  catch(PDOException $e) {
      echo "Hata: " . $e->getMessage();
  }
  
  $bag = null;
?>

Yukarıdaki örnekteki kodlar, bir önceki örnekte fonksiyonel yöntemle yapılan kayıt güncelleme işlemini PDO yöntemi ile gerçekleştirir.